From a1cff25456a166444a354a7827a320fc86424e9a Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 28 Aug 2018 16:26:38 +0100 Subject: [PATCH] test-webserver: Fix race condition If we rely on the background subshell to create the httpd-output file, and we are unlucky, then the "cp" invocation in the loop might execute before the file has been created, and fail. This appears to have happened on Debian's arm64 autobuilder, which failed with: Running web server: PYTHONUNBUFFERED=1 setsid python3 /<>/tests/http-utils-test-server.py 0 Web server pid: 13319 Waiting for web server (1/300)... cp: cannot stat '/var/tmp/tap-test.p1cxRN/httpd-output': No such file or directory Signed-off-by: Simon McVittie Gbp-Pq: Name test-webserver-Fix-race-condition.patch --- tests/test-webserver.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test-webserver.sh b/tests/test-webserver.sh index 4508537..6d10b01 100755 --- a/tests/test-webserver.sh +++ b/tests/test-webserver.sh @@ -8,6 +8,7 @@ test_tmpdir=$(pwd) [ "$dir" != "" ] && cd ${dir} echo "Running web server: PYTHONUNBUFFERED=1 setsid $cmd" >&2 +touch ${test_tmpdir}/httpd-output env PYTHONUNBUFFERED=1 setsid $cmd >${test_tmpdir}/httpd-output & child_pid=$! echo "Web server pid: $child_pid" >&2 -- 2.30.2